package com.cy.demo.mapper;

import com.cy.demo.pojo.Address;
import org.apache.ibatis.annotations.Mapper;

import java.util.Date;
import java.util.List;

//收货地址持久层接口
@Mapper
public interface AddressMapper {

    /**
     *
     * @param address 新增地址
     * @return 受影响的行数
     */
    int insert(Address address);

    /**
     *
     * @param uid 用户id
     * @return 当前用户的地址记录条数
     */
    int countByUid(int uid);

    /**
     *
     * @param uid 用户id
     * @return  根据用户id返回当前用户所有的地址
     */
    List<Address> findByUid(int uid);

    /**
     * @param uid 用户id
     * 将所有地址改为非默认
     */
    void SetOtherNoDefaultByUid(int uid);


    /**
     * 将选定的地址设为默认
     * @param aid 地址id
     * @param modifiedUser 修改用户
     * @param modifiedTime 修改时间
     */
    void SetDefaultByAid(int aid,
                         String modifiedUser,
                         Date modifiedTime);


    /**
     *查询单个地址
     * @param aid 地址id
     * @return 地址，没有则为null
     */
    Address findByAid(int aid);

    /**
     *
     * @param aid 地址id
     * @return 受影响的行数
     */
    int deleteByAid(int aid);

    int updateByAid(Address address);
}
